package com.ruicar.afs.cloud.risk.api.dto.business;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Description 费用信息
 * @Author Peng Jinbo
 * @Date 2020/07/21 20:40
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ApplyCostInfo implements Serializable {

    /**
     * Apply no
     */
    private String applyNo;

    /**
     * Tail pay scale
     * 尾付比例
     */
    private BigDecimal tailPayScale;

    /**
     * Customer rate
     * 客户利率
     */
    private BigDecimal customerRate;

    /**
     * Contract amount
     * 合同价款
     */
    private BigDecimal contractAmount;

    /**
     * Car price
     * 车辆价格
     */
    private BigDecimal carPrice;

    /**
     * Down pay amount
     * 首付金额
     */
    private BigDecimal downPayAmount;

    /**
     * Down pay scale
     * 首付比例
     */
    private BigDecimal downPayScale;

    /**
     * Loan amount
     * 贷款金额
     */
    private BigDecimal loanAmount;

    /**
     * Tail pay amount
     * 尾付金额
     */
    private BigDecimal tailPayAmount;

    /**
     * Period repay amount
     * 月供金额
     */
    private BigDecimal periodRepayAmount;

    /**
     * Interest amount
     * 利息总额
     */
    private BigDecimal interestAmount;

    /**
     * Product id
     * 产品标识
     */
    private String product;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * Repay frequency
     * 还款频率
     */
    private String repayFrequency;

    /**
     * Vendor discount amt
     * 厂商贴息金额
     */
    private BigDecimal vendorDiscountAmt;

    /**
     * Vendor discount scale
     * 厂商贴息比例
     */
    private BigDecimal vendorDiscountScale;

    /**
     * Discount amt
     * 贴息金额
     */
    private BigDecimal discountAmt;

    /**
     * Discount scale
     * 贴息比例
     */
    private BigDecimal discountScale;

    /**
     * Append product info list
     * 附加贷产品信息
     */
    private List<ApplyAppendProductInfo> appendProductInfoList;

}
